package cn.yitun.chat.yitunserverimbase.dao.group;

import cn.yitun.chat.yitunservercommonlib.dataentity.vo.group.GroupHeadVo;
import cn.yitun.chat.yitunservercommonlib.dataentity.vo.group.GroupVo;
import cn.yitun.chat.yitunservercommonlib.dataentity.vo.system.user.UserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 
 * @author chenyitun
 * @email chenyitun@163.com
 * @date 2020-05-29 21:37:05
 */
@Mapper
public interface GroupCommonDao  {

    /**
     * 获取用户加入或者拥有的群
     */
    List<GroupVo> getGroupListByGroupMemberUserId(@Param("userId") Long userId);

    /**
     * 获取用户已加入群的所有头像
     */
    List<GroupHeadVo> getGroupHeadListByGroupMemberUserId(@Param("userId") Long userId);

    /**
     * 获取群的所有成员
     */
    List<UserVo> getUserDataListByGroupMemberGroupId(@Param("groupId") Long groupId);

    /**
     * 获取用户加入群的所有成员
     */
    List<UserVo> getUserDataListOfAllUserInGroupByGroupMemberUserId(@Param("userId") Long userId);

    /**
     * 用户加入或者拥有的群 计数
     */
    int countGroupListByGroupMemberUserId(@Param("userId") Long userId);
}
